#include "rosthread.h"
#include <QDebug>
#include <ros/ros.h>

RosThread::RosThread(QObject *parent) : QThread(parent), is_running_(false) {}

RosThread::~RosThread() {
    shutdown();
    wait();
}

void RosThread::run() {
    is_running_ = true;


    ros::start();
    ros::Rate rate(10); // 10Hz


    while (ros::ok() && is_running_) {
        ros::spinOnce(); // 处理回调
        rate.sleep();
    }
}

void RosThread::shutdown() {
    is_running_ = false;
    if (ros::isStarted()) {
        ros::shutdown(); // 关闭ROS节点
    }
}
